#ifndef STRUCTSETTING
#define STRUCTSETTING

#include <QString>
#include <QStringList>

struct stAssistset
{
  int sampleNumEntryMode;         // 样本编号录入方式
  int notAutoIncreaseDigit;       // 不参与自动递增位数
  int nextSampleEntryMode;        // 下一样本录入方式
  int startDisplaySampleMode;     // 开机起始样本方式
  qint64 startDisplaySampleNum;   // 开机样本编号
  int startDisplayTestMode;       // 开机测试模式
  bool preDilReminderEnable;       // 预稀释提醒使能
  bool softKeyboardEnable;         // 软件盘使能
  int  alarmFlagR;                 // 报警标记R
  int  alarmFlagH;                 // 报警标记H
  int  alarmFlagL;                 // 报警标记L
};

//打印设置
struct stPrintSet
{
    int  selDev;               //打印设备
    int  selDrive;             //打印机驱动
    int selPaper;              //纸型
    QString title;             //报告单标题
    int form;                  //报告单模板
    int language;              //参数语言
    int copies;                //打印份数
    bool printFlag[5];          //打印内容标记
    int autoPrint;              //0:关闭，1:样本分析后打印，2:审核后打印
};


//通信设置
struct stCommuSet
{
    QString ipaddr;                 //IP地址
    QString mask;                   //子网掩码
    QString gateway;                //默认网关
    QString mac;                    //Mac地址
    QString protocol;               //通信协议
    QString lisipaddr;              //LIS IP地址
    QString IPPort;                 //LIS 端口
    bool ack;                       //ACK同步通信
    int ackSec;                     //ACK超时秒数
    bool continueTrans;             //自动续传
    bool communicat;                //自动通信
    bool getSampel;                 //自动获取样本信息
    bool bitTran;                   //以打印位图数据传输
    QString histogram;              //直方图传输方式
    QString scatter;                //散点图传输方式
};


//实验室信息
struct stLabInfoSet
{
    QString hospital;                //医院名称
    QString labName;                 //实验室名称
    QString officer;                 //责任人
    QString contact;                 //联系方式
    QString mail;                    //邮编
    QString type;                    //仪器型号
    QString numb;                    //仪器序列号
    QString date;                    //安装日期
    QString afterSale;               //售后联系人
    QString saleContact;             //售后联系方式
    QString remark;                  //备注
};

struct stDateTimeSet
{
    QString date;                    //日期
    QString time;                    //时间
    QString format;                  //格式
};


struct stFlagAlarmSet
{
    int ImmatureCell;      // 未成熟细胞
    int AtyLympho;         // 异常/异型淋巴细胞
    int HGBAbnor;          // 血红蛋白异常/干扰
};



struct stParamResearch
{
    bool  paramEnable;
    bool  printEnbale;
    bool  declarEnable;
    QString declarString;
};


struct stMaintainSet
{
    int sleepTime;                   //自动休眠等待时间
    QString preMtTime;               //每日预约维护时间
    int spaceTime;                   //间隔提醒时间
    int mtRunCount;                  //累计运行次数阈值
    int mtCurRunCount;               //当前累计运行次数
    QString lastMtTime;              //上次定时维护时间
};




struct stGainSet
{
  int gaLAS;
  int gaMAS;
  int gaWAS;
  int gaWidth;
  int gaRBC;
  int gaHGB;
};


struct stMicroscopySet
{
    QStringList microscopyParam;
};

struct stDepartClinicianSet
{
    QStringList department;
    QStringList clinician;
};



#endif // STRUCTSETTING

